package company;
//基于数组的顺序表
public class shunxubiao {
    private int[] data;
    private int size;

    public shunxubiao()  //无参构造成员方法
    {
        data = new int[10];
    }

    public shunxubiao(int capacity)//有参构造成员方法
    {
        data = new int[capacity];
    }

    public void addFirst(int value) {
        addIndex(size, value);//头插法
    }

    public void addIndex(int index, int value)//任意位置插入
    {
        if (size == data.length) {
            grow(); //扩容方法，扩大1倍
        }
        if (index < 0 || index > size) {
            System.err.println("add index illegal");
            return;
        } else {
            for (int i = size - 1; i >= index; i--) {
                data[i + 1] = data[i];

            }
            data[index] = value;
            size++;
        }
    }
    //根据索引查询元素 index索引值

    public int getByValue(int value) {
        for (int i = 0; i < size; i++) {
            if (data[i] == value) {
                return i;
            }
        }
        return -1;
    }

}
  //将指定索引位置元素修改为newValue，返回修改前的元素值

public int set(int index,int newValue)
{
    if(index<0||index>=size)
    {
        System.err.println("set index illegal!");
        return -1;
    }
    int oldVlue=data[index];
    data[index]=newValue;
    return oldVlue;
}
}
//删除索引位置的元素
    public void removeIndex(int index)
        if (index < 0 || index >= size) {
        System.err.println("remove index illegal!");
        return;
        }
        for(int i=index;i<size;i++)
        {
            data[i]==data[i+1]
        }
        size--;
        data[size]=0;
}
public void removeFirst() {
        removeIndex(0);
        }

public void removeLast() {
        removeIndex(size - 1);
        }

public boolean contains(int value) {
        int index = getByValue(value);
        return index != -1;
        }
//

